maximum independent set problem algorithm